

package w83b.w83bOperacionesPaso.w83bMantenimientos.w83bTramites;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;


import w83b.w83bBeans.W83bTramitesBean;
import w83b.w83bUtilidades.W83bUtilidadesComunes;
import w83b.w83bUtilidadesComunes.W83bClsConstantes;

import es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP;
import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;

public class W83bTablaTramitesOPAction extends Q70ActionPasoOP{



	protected void processOP(Q70ContextoEJIE contexto, ActionErrors errores,
			ActionMapping mapping, ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {

		//Guardamos la accion en el contexto
		contexto.set("action",request.getParameter("action"));

		W83bTramitesBean tramiteBean = (W83bTramitesBean)contexto.get("w83bTramitesBean");
		if((StringUtils.isEmpty((String)contexto.get("modoPantalla"))
				||W83bClsConstantes.MODO_BUSQUEDA.equals(contexto.get("modoPantalla")))){
			if("true".equals(request.getParameter(W83bClsConstantes.RIA_SEARCH))){
				tramiteBean = new W83bTramitesBean();
				tramiteBean.setCodTramite(request.getParameter("w83bTramitesBean.codTramite"));
				tramiteBean.setCodFase(request.getParameter("w83bTramitesBean.codFase"));
				String str = request.getParameter("w83bTramitesBean.codFaseStr");
				if(W83bClsConstantes.CONSTANTE_CASTELLANO.equalsIgnoreCase((String)contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_IDIOMA))){
						tramiteBean.setFaseDesc(str);
				}else{
						tramiteBean.setFaseDescEusk(str);
				}
				tramiteBean.setDescTramite(request.getParameter("w83bTramitesBean.descTramite"));
				tramiteBean.setDescTramiteEusk(request.getParameter("w83bTramitesBean.descTramiteEusk"));
				
				tramiteBean = (W83bTramitesBean)W83bUtilidadesComunes.inicializarPaginador(request, tramiteBean);
				tramiteBean.setPage("1");
				contexto.set("w83bTramitesBean",tramiteBean);
			}else{
				tramiteBean = (W83bTramitesBean)W83bUtilidadesComunes.inicializarPaginador(request, tramiteBean);

				contexto.set("w83bTramitesBean",tramiteBean);
			}
			
		}else if("sord".equals(request.getParameter("action"))){
			tramiteBean = (W83bTramitesBean)W83bUtilidadesComunes.inicializarPaginador(request, tramiteBean);			
			contexto.set("w83bTramitesBean",tramiteBean);
		}else if(StringUtils.isEmpty(((W83bTramitesBean)contexto.get("w83bTramitesBean")).getSort())){
			tramiteBean = (W83bTramitesBean)W83bUtilidadesComunes.inicializarPaginador(request, tramiteBean);			
			contexto.set("w83bTramitesBean",tramiteBean);
		}

	}


	protected ActionForward processForward(Q70ContextoEJIE contexto,
			ActionErrors errores, ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {

		String action = (String)contexto.get("action");

		W83bTramitesBean tramiteBean = (W83bTramitesBean)contexto.get("w83bTramitesBean");

		tramiteBean.setIdioma((String)contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_IDIOMA));

		contexto.set("w83bTramitesBean", tramiteBean);

		if(null==(ArrayList)contexto.get("w83bListaTramites")){	
			contexto.set("w83bListaTramites", new ArrayList());
		}
			if ("find".equals(action)||"sord".equals(action)){
			//Si vengo de una pantalla anterior tengo que mirar si he realizado una búsqueda anterior
			if(StringUtils.isEmpty((String)contexto.get("modoPantalla"))
					||W83bClsConstantes.MODO_BUSQUEDA.equals(contexto.get("modoPantalla"))){
				return mapping.findForward("find");
			}else{
				contexto.set("modoPantalla",W83bClsConstantes.MODO_BUSQUEDA);
				if("tramites".equals((String)contexto.get("subOpFlag"))){
					contexto.set("migas","inicio.mantenimiento.tramites");
				}
				if("true".equals((String)contexto.get("busqRealizada"))){
					return mapping.findForward("find");					
				}
			}
		}

		return mapping.findForward("ok");		
	}


	
}
